/**
 * @brief 4*4键盘
 * A(PA4)-----|-------|-------|-------|
 * B(PA5)-----|-------|-------|-------|
 * C(PA6)-----|-------|-------|-------|
 * D(PA7)-----|-------|-------|-------|
 * --------1(PA0)  2(PA1)  3(PA2)  4(PA3)
 * P4~PA7(上拉输入1&外部下降沿中断);PA0~PA3(推挽输出0)
 */
#ifndef __KEYPAD_H
#define __KEYPAD_H
#include "sys.h"
#include "delay.h"

extern uint8_t KEYPAD_INT_MARK; // 中断标记,记录行号[1~4]
#define KEYPAD_PORT GPIOA
#define KEYPAD_1 GPIO_Pin_0
#define KEYPAD_2 GPIO_Pin_1
#define KEYPAD_3 GPIO_Pin_2
#define KEYPAD_4 GPIO_Pin_3
#define KEYPAD_A GPIO_Pin_4
#define KEYPAD_B GPIO_Pin_5
#define KEYPAD_C GPIO_Pin_6
#define KEYPAD_D GPIO_Pin_7

void KEYPAD_Init(void);
void KEYPAD_IO_Init(void);
void KEYPAD_IO_Rever(void);
void KEYPAD_Scan(void);
uint8_t KEYPAD_ReadValue(void);
//
void KEYPAD_INT_Init(void);
void EXTI4_IRQHandler(void);
void EXTI9_5_IRQHandler(void);

#endif
